Minimum Absolute Difference in BST
Problem page:https://leetcode.com/problems/minimum-absolute-difference-in-bst
Solution
class Solution:
def helper(self, node:Optional[TreeNode], values:List[int]):
if node is None:
return
self.helper(node.left,values)
values.append(node.val)
self.helper(node.right,values)
def getMinimumDifference(self, root: Optional[TreeNode]) -> int:
values = []
self.helper(root,values)
res = sys.maxsize
for i in range(1, len(values)):
res = min(res, values[i]-values[i-1])
return res
Complexity
- time: O(n)
- space: O(n)